<!DOCTYPE html>
<html lang="en">

<head>
  <meta charset="UTF-8">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <title>外边距合并-嵌套块元素</title>
  <style>
    /* 嵌套块级元素垂直外边距的塌陷
    问题：对于2个嵌套关系（父子关系）的块元素，父元素有上外边距 同时子元素也有上外边距，此时父元素塌陷 较大的外边距值 
    
    解决方案：
    1 可以为父元素定义上边框
    2 可以为父元素定义内边距
    3 可以为父元素添加 overflow:hidden

    注意：还有其他方法，比如浮动、固定，绝对定位的盒子不会有塌陷问题，后面再总结
    */
    /* 演示如下 */
    /* .father {
      width: 500px;
      height: 500px;
      background-color: pink;
      margin-top: 100px;
    }
    .son {
      width: 200px;
      height: 200px;
      background-color: purple;
      margin-top: 100px;
    } */

    /* 解决方案 */
    .father {
      width: 500px;
      height: 500px;
      background-color: pink;
      margin-top: 100px;
      /* 第一种方案：父元素定义上边框 */
      /* border-top: 1px solid #000; */
      /* border-top: 1px solid transparent; */
      /* 第二种方案：父元素定义上内边距 */
      /* padding-top: 1px; */
      /* 第三种方案：父元素添加 overflow:hidden */
      /* overflow: hidden; */
    }

    .son {
      width: 200px;
      height: 200px;
      background-color: purple;
      margin-top: 100px;
    }
  </style>
</head>

<body>
  <div class="father">
    <div class="son"></div>
  </div>
</body>

</html>